package org.beetl.sql.experimental.iohao.mapper;

import net.sf.cglib.proxy.CallbackFilter;
import org.beetl.sql.experimental.iohao.mapper.annotation.Ignore;

import java.lang.reflect.Method;

/**
 * 过滤
 * <BR>
 * create time : 2017-04-14 16:46
 *
 * @author luoyizhu@gmail.com
 */
@Deprecated
public class MapperCallbackFilter implements CallbackFilter {
    public static final MapperCallbackFilter ME = new MapperCallbackFilter();

    @Override
    public int accept(Method method) {
        /**
         * 0 不需要beetlsql内置的任何操作, 一般用于default接口实现
         * 这里的下标表示使用的是哪一个代理类
         */

        if (method.getAnnotation(Ignore.class) != null) {
            return 0;
        }

        // 1 表示使用下标1的代理对象. 如果你有多个代理对象,以此类推.
        return 1;
    }
}
